config.txt文件

您所在的位置:网站首页 树莓派bootloader 显示图片 config.txt文件

config.txt文件

2024-07-14 13:55| 来源: 网络整理| 查看: 265

config.txt文件 什么是config.txt?​

Raspberry Pi 设备使用名为 config.txt 的配置文件,而不是传统 PC 上的 BIOS。在 Arm CPU 和 Linux 初始化之前,GPU 会读取config.txt。Raspberry Pi OS 会在 boot 分区(位于 /boot/firmware/)中查找该文件。

注意

在 Raspberry Pi OS Bookworm 之前,Raspberry Pi OS 将启动分区存储在 /boot/。

您可以直接从 Raspberry Pi OS 安装中编辑 config.txt。也可以移除存储设备,在另一台电脑上编辑启动分区中的文件,包括 config.txt。

对 config.txt 的更改仅在重启后生效。可以使用以下命令查看当前活动设置:

vcgencmd get_config :显示特定配置值,例如 vcgencmd get_config arm_freq. vcgencmd get_config int:列出所有非零整数配置选项(非零) vcgencmd get_config str:列出所有非空字符串配置选项

备注

并非所有配置设置都能使用 vcgencmd 获取。

文件格式​

config.txt 文件由早期启动固件读取,因此使用非常简单的文件格式: 每行只有一条 property=value 语句,其中 value 既可以是整数,也可以是字符串。可以添加注释,也可以用 # 字符开头一行,注释掉并禁用现有的配置值。

条目的行长限制为 98 个字符。Raspberry Pi OS 会忽略超过此限制的任何字符。

下面是一个文件示例:

# 启用音频(加载 snd_bcm2835)dtparam=audio=on# 为检测到的摄像头自动加载覆盖层camera_auto_detect=1# 为检测到的 DSI 显示器自动加载覆盖层display_auto_detect=1# 启用 DRM VC4 V3D 驱动程序dtoverlay=vc4-kms-v3d 高级功能​ 包括​

将指定文件的内容插入当前文件。

例如,在 config.txt 中添加 include extraconfig.txt 这一行,就会在 config.txt 文件中包含 extraconfig.txt 文件的内容。

注意

bootcode.bin 或 EEPROM 引导加载程序不支持 include 指令。

由bootloader处理的设置只有在 config.txt 文件(而不是任何其他包含文件)中指定后才会生效:

bootcode_delay gpu_mem、gpu_mem_256、gpu_mem_512、gpu_mem_1024 total_mem sdram_freq start_x、start_debug、start_file、fixup_file uart_2ndstage 条件筛选​

条件筛选器在条件部分有所介绍。

autoboot.txt​

autoboot.txt 是一个可选配置文件,可用于指定 boot_partition 编号。

它还可与 tryboot 功能结合使用,为操作系统升级实现 A/B 启动。

autoboot.txt 的长度限制为 512 字节,支持 [all]、[none] 和 [tryboot] 条件过滤器。

另请参阅 TRYBOOT 启动流程。

boot_partition​

指定用于启动的分区号,除非分区号已作为参数指定给 reboot 命令(如 sudo reboot 2)。

分区号从 1 开始,MBR 分区为 1 至 4。 指定分区 0 意味着从默认分区(即第一个可启动的 FAT 分区)启动。

可启动分区必须格式化为 FAT12、FAT16 或 FAT32,并包含 start.elf 文件(或树莓派5上的 config.txt 文件),才能被bootloader归类为可启动分区。

[tryboot]过滤器​

如果系统启动时设置了 tryboot 标志,则此过滤器通过。

sudo reboot "0 tryboot" tryboot_a_b​

将此属性设为 1,可在设置 tryboot 标志时加载正常的 config.txt 和 boot.img 文件,而不是 tryboot.txt 和 tryboot.img。

这样就能在分区级而非文件级进行 tryboot 切换,而无需修改 A/B 分区中的配置文件。

A/B启动更新流程示例​

下面的伪代码展示了假设的操作系统更新服务如何使用 tryboot + autoboot.txt 来执行故障安全操作系统升级。

初始 autoboot.txt

[all]tryboot_a_b=1boot_partition=2[tryboot]boot_partition=3 安装更新​ 系统开机,默认启动到分区 2 更新服务将下一版本的操作系统下载到分区 3 通过重启至 tryboot 模式 reboot "0 tryboot" 来测试更新,其中 0 表示默认分区 提交或取消更新​ 系统从分区 3 启动,因为在 tryboot模式 下,[tryboot] 过滤器的值为 true 如果 tryboot 处于活动状态(/proc/device-tree/chosen/bootloader/tryboot == 1) 如果当前启动分区(/proc/device-tree/chosen/bootloader/partition)与 autoboot.txt 中 [tryboot] 部分的 boot_partition 相匹配 更新服务会验证系统是否更新成功 如果更新成功 替换 autoboot.txt 交换 boot_partition 配置 正常重启 - 分区 3 现在是默认启动分区 否则 更新服务将更新标记为失败,例如删除更新文件。 正常重启 - 分区 2 仍是默认引导分区,因为 tryboot 标记已自动清除 结束如果 结束如果 结束如果

更新的 autoboot.txt

[all]tryboot_a_b=1boot_partition=3[tryboot]boot_partition=2 注意

更新 autoboot.txt 后不一定要重新启动。不过,更新服务 必须小心避免覆盖当前分区,因为 autoboot.txt 已被修改以提交上次更新。有关详细信息,请参阅 设备树参数。

常用选项​ 常用显示选项​ hdmi_enable_4kp60(仅限树莓派4)​

默认情况下,当连接到 4K 显示器时,树莓派4B、400 和 CM4 将选择 30Hz 刷新率。使用此选项可选择 60Hz 刷新率。

常见硬件配置选项​ camera_auto_detect​

启用此设置(树莓派OS默认启用)后,固件将自动为其识别的 CSI 摄像头加载覆盖层。设置 camera_auto_detect=0 可禁用该设置。

display_auto_detect​

启用此设置(树莓派OS默认启用)后,固件将自动为其识别的 DSI 显示器加载覆盖层。设置 display_auto_detect=0 可禁用该设置。

dtoverlay​

dtoverlay 选项要求固件加载一个名为 "设备树"(Device Tree)的覆盖层,这是一个配置文件,可以启用内核对内置和外部硬件的支持。例如,dtoverlay=vc4-kms-v3d 会加载一个可启用内核图形驱动程序的覆盖层。

作为一种特殊情况,如果调用时没有任何值 - dtoverlay= - 则该选项标志着覆盖参数列表的结束。如果在任何其他 dtoverlay 或 dtparam 设置之前使用,则会阻止加载任何 HAT 叠加。

更多详情,请参阅 DTB、覆盖和 config.txt。

dtparam​

Raspberry Pis 的设备树配置文件支持大量参数,例如启用 I2C 和 SPI 接口。许多 DT 叠加都可以通过使用参数进行配置。这两种类型的参数都可以使用 dtparam 设置来提供。此外,覆盖参数还可以附加到 dtoverlay 选项中,用逗号分隔,但要注意行长限制为 98 个字符。

更多详情,请参阅 DTB、覆盖和 config.txt。

arm_boost(仅限树莓派4)​

所有树莓派400和更新版本的树莓派4B都为 SoC 电压轨配备了第二个开关模式电源,这使得默认的超频模式时钟频率从 1.5GHz 提高到 1.8GHz。树莓派OS 默认启用这



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3